"""
新闻模型
"""
from sqlalchemy import Column, Integer, String, Boolean, DateTime, Text
from sqlalchemy.sql import func
from ..database import Base

class News(Base):
    """
    新闻表模型
    公司新闻和动态管理
    """
    __tablename__ = "news"
    
    id = Column(Integer, primary_key=True, index=True)
    
    # 新闻标题
    title = Column(String(200), nullable=False)
    
    # 新闻摘要
    excerpt = Column(String(500))
    
    # 新闻内容（富文本）
    content = Column(Text, nullable=False)
    
    # 封面图片URL
    cover_image = Column(String(500))
    
    # 新闻分类
    category = Column(String(50), default="公司新闻")
    
    # 作者
    author = Column(String(100), default="管理员")
    
    # 是否发布
    is_published = Column(Boolean, default=True)
    
    # 是否置顶
    is_featured = Column(Boolean, default=False)
    
    # 浏览次数
    view_count = Column(Integer, default=0)
    
    # 发布时间
    published_at = Column(DateTime(timezone=True), server_default=func.now())
    
    # 创建和更新时间
    created_at = Column(DateTime(timezone=True), server_default=func.now())
    updated_at = Column(DateTime(timezone=True), onupdate=func.now())